Skip to content

fix(inkless:consolidation): don't fence a consolidating leader below the seal#676

Closed
viktorsomogyi wants to merge 1 commit into
mainfrom
svv/ts-unification-leader-below-fence
Closed

fix(inkless:consolidation): don't fence a consolidating leader below the seal#676
viktorsomogyi wants to merge 1 commit into
mainfrom
svv/ts-unification-leader-below-fence

Conversation

@viktorsomogyi

Copy link
Copy Markdown
Contributor

maybeReconcileSwitchedLeader fenced a switched leader offline whenever its LEO fell below the committed seal. It runs during applyLocalLeadersDelta, before the ConsolidationReconciler, so the wiped-leader recovery from #673 never ran. The reconciler only sees online partitions, and a wiped consolidating leader (LEO 0 < seal) was offline before it could rebuild. Every fetch and offset request then failed with KAFKA_STORAGE_ERROR.

For a consolidating diskless topic with remote storage enabled, [0, seal) is in the remote tier and can be rebuilt, so leave the partition online and let the reconciler arm consolidation at the current LEO. Non-consolidating topics still fence, since their classic prefix has no remote copy and LEO < seal is unrecoverable corruption.

…the seal

maybeReconcileSwitchedLeader fenced a switched leader offline whenever its LEO
fell below the committed seal. It runs during applyLocalLeadersDelta, before the
ConsolidationReconciler, so the wiped-leader recovery from #673 never ran. The
reconciler only sees online partitions, and a wiped consolidating leader
(LEO 0 < seal) was offline before it could rebuild. Every fetch and offset
request then failed with KAFKA_STORAGE_ERROR.

For a consolidating diskless topic with remote storage enabled, [0, seal) is in
the remote tier and can be rebuilt, so leave the partition online and let the
reconciler arm consolidation at the current LEO. Non-consolidating topics still
fence, since their classic prefix has no remote copy and LEO < seal is
unrecoverable corruption.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant